home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part2 / 14144 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  3.2 KB

  1. Path: news.magmacom.com!NewsWatcher!user
  2. From: Jan@Bytesmiths.com (Jan Steinman)
  3. Newsgroups: comp.lang.smalltalk,comp.object,comp.lang.c++,comp.lang.java
  4. Subject: Re: The Good, the Bad, the Ugly, and the Wicked ...
  5. Date: 29 Mar 1996 05:56:25 GMT
  6. Organization: Bytesmiths, the Smalltalk start-up specialists
  7. Message-ID: <Jan-2803962353330001@206.116.214.1>
  8. References: <31570B8E.5A12@vmark.com> <4je5rq$7qg@mimas.brunel.ac.uk>
  9. Reply-To: Jan@Bytesmiths.com
  10. NNTP-Posting-Host: 206.116.214.1
  11. X-Newsreader: Yet Another NewsWatcher 2.1.7
  12.  
  13. In article <4je5rq$7qg@mimas.brunel.ac.uk>, Francesco Fantauzzi
  14. <mapgfgf@brunel.ac.uk> wrote:
  15.  
  16. > A language offering automatic garbage collection disqualifies itself for 
  17. > at least two streams of applications:
  18. ...
  19. > 2) those requiring that you DON'T do any automatic garbage collection.
  20. > I belive that, for instance, real-time applications fit the second 
  21. > stream.
  22.  
  23. Damn! I knew I was doing something wrong all along! All that real-time
  24. Smalltalk I've done will have to be re-written in C++! All those GUI ops
  25. that happened in under 200mS will have to be un-done! All those
  26. transactions I committed in under 50mS will have to be rolled back! :-)
  27.  
  28. Will someone please call up Tektronix, Texas Instruments, DSC, and the
  29. Canadian Navy and tell them their delivered real-time Smalltalk
  30. applications don't work? :-)
  31.  
  32. (Can Ralph, Craig, and David put something about this in their respective
  33. Smalltalk FAQs as one of the Great Myths Of Smalltalk?)
  34.  
  35. As Francesco implies it, there is no computer that operates in "real
  36. time." Real time means "assured operation within specified time
  37. constraints," NOT "instantaneously, without miniscule pause for any
  38. reason." This means that a C++ (or assembler, for that matter) program
  39. running on a UNIX (or Windows, or MacOS, or...) system cannot possibly be
  40. "real time," because heavy loading and/or virtual memory can cause it to
  41. operate outside of response time specs.
  42.  
  43. Carefully coded Smalltalk running under a real-time kernel in an embedded
  44. system can operate within real-time constraints just as well as (probably
  45. much better than :-) assembly code running on a time-sliced or
  46. virtual-memory system.
  47.  
  48. > A language that is proposed as "general purpose" shouldn't offer 
  49. > "compulsory" garbage collection (g.c.). A general purpose language should 
  50. > give you a chance to implement the g.c. you like the most.
  51.  
  52. (Warp back to 1976 for a moment, folks. Kernigan and Ritchie are facing an
  53. angry crowd. "Any general-purpose language shouldn't offer automatic
  54. variables!" someone from the crowd shouts, "Yea, we should be able to
  55. implement the storage layout we like the most!" shouts another, "I'll tell
  56. you where you can GOTO if you take away my JMPs!" shouts a third...)
  57.  
  58. (Of course, twenty years ago you had people claiming you couldn't do
  59. real-time under UNIX, because it had non-deterministic memory allocators
  60. malloc() and free(), time-sharing, and virtual memory, but then pesky AT&T
  61. used it for all those "real-time" telephone switches... Times change, but
  62. religious arguments don't -- they just get new vocabulary every generation
  63. or so.)
  64.  
  65.  : Jan Steinman <mailto:Jan@Bytesmiths.com>
  66.  : Bytesmiths, the Smalltalk specialists <http://www.bytesmiths.com>
  67.  : "This is witty signature 1 of 47,288."
  68.